
# 列表推导式

"""
1. 概念 ： 能快速生成一个新的列表的一种写法 。
2. 作用 ： 生成一个新的列表 ，生成的列表都是有规则的
3. 格式 ： [ expB for x in iterable expA ]
4. 说明:
    （1）. 从执行顺序来说，先执行for循环 ，再运行expA ,最后在运行expB
    （2）. expA是一个可选项 ，可以省略。
    (3) . expA可以是一个条件语句，也可以是循环
    (4) . expB 可以是一个值,也可以是一个函数，也可以是一个表达式 。
"""

# 需求 ： 生成一个0~9的列表
lst = []
for x in range(10):
    lst.append(x)
print(lst)

print([x for x in range(10)])

# 需求1 ：生成一个0~9的列表，要求列表中全部是奇数
lst = []
for x in range(10):
    if x % 2:
        lst.append(x)
print(lst)

print([x for x in range(10) if x % 2])


lst1 = []
for x in range(1,3):
    for y in ['x','y','z']:
        lst1.append(y+str(x))
print(lst1)

print([y+str(x) for x in range(1,3) for y in ['x','y','z']])